The present invention relates to imaging methods and apparatus and more specifically to a method and apparatus which facilitates magnification or zooming of a portion of an image on a display.
Digital imaging is extremely important in many different applications. For example, digital imaging has proven invaluable in the medical imaging art where vast amounts of data are collected and used to generate images for observation on a video monitor or display. Although not so limited, in the interest of simplifying this explanation the present invention will be described in the context of medical imaging. A typical display includes a two-dimensional raster of pixels. For the purpose of this explanation, although raster pixels may be arranged in any of several different configurations, it will be assumed that pixels are arranged in distinct rows and columns.
To generate images on the display a processor collects all image data and generates intensity signals or pixel values for each display pixel. The pixel values are provided to a video driver which excites each pixel separately in accordance with an associated pixel value. From a distance the contrast between display pixel intensities is seen as an image.
Magnification of digital images in real time is needed in many different applications. For example, it may be advantageous to magnify a section of a medical image which includes a tumor. To this end, software has been developed which allows a user to select an image section for magnification and then magnifies the selected section.
One problem with image magnification has been selecting pixel intensities in a magnified image which reflect the initial image and result in a clean magnified image. For example, assume an intensity range between 0 and 100 where first and second adjacent pixel values correspond to intensities 55 and 92. Also assume that upon magnification, the area corresponding to the first and second pixels increases and covers 32 pixels (e.g. 16 pixels each). In this case, if the 16 magnified pixels corresponding to the first pixel and the 16 magnified pixels corresponding to the second pixel are provided with intensities 55 and 92, respectively, and all other magnified pixels are similarly magnified, the result is a highly granulated image which, in many cases, is not useful for the intended purpose of closer examination.
Instead of exciting pixels in the magnified image as indicated above (i.e. with either intensities 55 or 92), other solutions have been adopted by the industry with varying success and at varying costs. The most common methods for calculating new pixel intensities are nearest neighbor, bilinear and bicubic interpolation methods.
According to the nearest neighbor method, when points corresponding to first and second adjacent pixels on an initial image are separated by magnification so that the initial image points correspond to third and fourth pixels which are separated by a plurality of other pixels, the intensity of each of the other pixels (e.g. pixels between the third and fourth) are set equal to the intensity of the closest of the third or fourth pixel. This solution has the advantage of being computationally simple and therefore can be implemented easily using existing imaging hardware. Unfortunately, nearest neighbor methods only increase magnified image quality slightly and therefore are unacceptable for many applications.
Bilinear methods generally linearly fill in pixel intensities. For instance, in the example above where points corresponding to first and second adjacent pixels on an initial image are separated by magnification so that the initial image points correspond to third and fourth pixels which are separated by three other pixels and the first and second pixel intensities were 55 and 92, respectively, the other pixel intensities are linearly determined and are approximately 64, 73 and 83. High speed bilinear image magnification is now commonly available in accelerated graphics hardware. Unfortunately, while this solution generates a better image than the nearest neighbor methods, this solution requires much more processor time to perform necessary computations and still does not provide an extremely accurate magnification.
Bicubic interpolation methods generally take into account the intensities of more than just first and second adjacent pixels when determining the intensities of pixels in a magnified image which are between image points which correspond to the initial first and second pixels. In effect, these interpolation methods mathematically identify pixel intensities on one or more curves wherein the curves correspond to proximate initial pixel intensities of several pixels about an area.
These interpolation methods are extremely accurate and generate diagnostic quality magnified images. Unfortunately, these methods require massive amounts of processor time and therefore, in many cases, cannot be performed in real time because of processor limitation. For this reason high quality bicubic image magnification is not generally available.
One way to speed up calculations is to provide special hardware which is specifically designed to perform specific calculations. For example, many image processing systems include special hardware to perform either one or two dimensional high speed convolution filtering and linear or bilinear interpolation processes required in many imaging application. Unfortunately, hardware solutions have not yet been provided to facilitate bicubic interpolation.
Therefore, it would be advantageous to have a method and an apparatus which can be used with existing hardware to facilitate image magnification wherein resulting magnified images are of a quality which is essentially identical to the quality achievable using bicubic interpolation and wherein the method facilitates real time magnification.